home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / comm / ums / user.lha / User / doc / History.doc next >
Encoding:
Text File  |  1993-10-26  |  18.9 KB  |  572 lines

  1.   History:
  2.    26. 2.91: Erkennen eines bereits laufenden UMSservers;
  3.              richtiges Flush() mit Close/Open
  4.     1. 3.91: Neue Versionsnummer: 6.2
  5.     4. 3.91: 6.3, Bug (Überlauf) bei Index-Files >32K behoben
  6.     5. 3.91: 6.4, neue Zugriffrechte für PM: über 'export'-Pattern
  7.    14. 3.91: 6.9, Delete() und Rename() jetzt nur noch bei geschlossenen Files
  8.     5. 4.91: 7.0, SelStatus(), SelGroup(), GetStatus()
  9.     6. 4.91: Flush(), CleanMB(), Quit()
  10.    13. 4.91: Freigeben der Header-Buffer bei wenig RAM
  11.    25. 4.91: 7.3 Requests statt io
  12.    13. 5.91: Compiler V2.0
  13.    24. 5.91: Log bei Delete geändert
  14.     2. 6.91: FileSys, StringAVL
  15.    12. 6.91: Bug mit doppelter Benutzung des temp Buffers (ChangeID)
  16.    16. 6.91: TaskPri -5;
  17.    24. 6.91: LogLevel
  18.    17. 7.91: bug bei ChangeID()
  19.    14. 8.91: chaining schneller
  20.    19. 8.91: gelöschte Nachrichten unsichtbar für Nicht-Sysops
  21.    27. 9.91: gelöschte Nachrichten nicht mehr bei NextNew(),
  22.              str.Upper bei PutMsg()
  23.    29.12.91: aSearchID, SelStatus() sucht keine gelöschten Nachrichten
  24.  
  25.     1. 1.92: Anfang von V8: library <-> server
  26.     3. 1.92: Er kann schreiben! (?)
  27.    19. 1.92: Zugriffrechte beim Schreiben
  28.  
  29.  
  30.    18. 3.92: Anfang V9: (fast) alles neu..
  31.  
  32.     2. 4.92: alfa 2 release
  33.    12. 4.92:
  34.   cleanums hatte einen bösen bug:  die aufgeräumten Tabellen wurden in
  35. den allermeisten zurückgeschrieben, nach jedem cleanums waren alle
  36. indices, Verkettungen etc kapputt. Außerdem war die Berechnung der
  37. neuen Kommentarverkettungen inkorrekt.
  38.   recoverV8 bricht auch nach getaner, korrekter Arbeit auf einem
  39. "END;" mit einem Range-Error ab, keine Ahnung warum.  Wer hat eine
  40. Idee?
  41.  
  42.    14. 4.92:
  43.   ums.library verwendet jetzt Dos.System() und 10KB Stack zum Starten
  44. des umsserver.
  45.  
  46.    15. 4.92:
  47.   Menge der bei jedem Flush() zurückzuschreibenden Daten vermindert.
  48.   TimerInterval im umsserver implementiert.
  49.   Laufzeitfehler/Gurus werden jetzt wenn möglich ins logfile
  50. geschrieben (Modul NoGuru in NoGuruTxt umgeschrieben).
  51.   Fehler von RecoverV8 gefunden.
  52.  
  53.   Beta 1
  54.  
  55.    22. 4.92:
  56.   Varargs-Aufrufe aus ums.library entfernt.
  57.   umsserver akzeptiert keine leeren Patterns mehr.
  58.   Mails an nicht existierende User werden automatisch allen sysops
  59. zugänglich gemacht, das Flag 'orphan' wird gesetzt und der Text
  60. "Orphan" an den Anfang der Attributes-Zeile geschrieben.  Damit läßt
  61. sich ein einfaches bounce-Programm schreiben.
  62.  
  63.    23. 4.92:
  64.   Stack-Bedarf der ums.library verkleinert.
  65.   umsserver setzt seine Task-Priorität jetzt ggf auf die des
  66. momentanen Clients herauf.
  67.   Zum Lesen des Nachrichten-Textes wurde nur auf ReadAccess, nciht
  68. aber auf ViewAccess getestet.  Sysops konnten daher gelöschte
  69. Nachrichten wie normale lesen.
  70.   Bug von/mit MagicMail gefunden:  bei GetMsgTxt() (u.a.) erwartet
  71. MagicMail (wie dokumentiert) ein LONG als Return-Wert, ums.library
  72. lieferte aber nur ein WORD.  MagicMail hielt deswegen GetMsgTxt()
  73. jedesmal für fehlgeschlagen und belohnte das mit dem bekannten
  74. Absturz.
  75.  
  76.   Beta 2
  77.  
  78.    26. 4.92:
  79.   umsserver prüft jetzt, ob notwendige HEADERFIELDS oder INDEXFIELDS
  80. angegeben sind.
  81.   Distribution.
  82.   Noch einen bug im File-I/O-Modul gefunden:  wenn man als allererstes
  83. nach einem Start des umsserver eine neue Nachricht schrieb, wurde der
  84. eigene Status zu dieser Nachricht manchmal nicht richtig
  85. abgespeichert.
  86.  
  87.    27. 4.92:  UMS-MAUS Release 2
  88.  
  89.    28. 4.92:
  90.   ums.library hat (fast) immer D7 gemüllt (Compiler-Bug).
  91.   IPC library <-> server: Check auf passende Version  eingebaut.
  92.  
  93.     1. 5.92:
  94.   links eingebaut.  Die Nachrichten zwar trotzdem jedesmal komplett
  95. abgespeichert, aber das Interface steht und nach außen hin sollte die
  96. volle Funktionalität gegeben sein.
  97.   Bug bei WriteUMSMsg():  bei bestimmten Konfigurationen gab's viele
  98. falsche Fehler 'noReader'.
  99.   ReadUMSConfig(): tagCfgUsername - liest den Realname eines
  100. bestimmten Users aus.
  101.  
  102.     3. 5.92:
  103.   dummen Bug in ReadUMSConfig() gefunden.
  104.  
  105.     5. 5.92:
  106.   Mögliche Endlos-Schleife bei links beseitigt.
  107.   Gelöschte Nachrichten konnten von Sysops gelesen werden.
  108.  
  109.     6. 5.92:
  110.   CLI für Umsserver: CONFIG und PORTNAME. UMSRLogin().
  111.   Behandlung von Links bei Delete(), Exported(), CannotExport().
  112.  
  113.    11. 5.92:
  114.   Der Lesebuffer eines Logins wurde bei Logout() nicht freigegeben.
  115. Das ist aber immer nicht alles RAM, das bei einem Login()/Logout()
  116. verloren geht. :-(  Wann kommt der Garbage-Collector?  ;-)
  117.   SelectStatus() jetzt in A68k -> RUMS wird deutlich schneller.
  118.  
  119.    14. 5.92:
  120.   oldSelectGroup() doch noch emuliert, hoffentlich funktionieren jetzt
  121. die Infofiles beim MausTausch wierde richtig.  (15.5.: Leider doch nicht :-( )
  122.   NIL-Strings sind zwar bei Nachrichten praktisch überall legal,
  123. wurden aber von UMSSelect() nicht verstanden.
  124.  
  125.   17. 5.92:
  126.   umsserver: bei links werden doppelte Felder nicht mehr doppelt
  127. abgespeichert.
  128.   Fehlende oder zu kurze Indices (".hashxx") werden beim Start
  129. automatisch wiederhergestellt.
  130.   ums.config:  IMPORT auch für User; NETACCESS (nur User) für
  131. Ziel-Addresse von persönlichen Nachrichten.  HDRFILL und TXTFILL nur
  132. noch für einfache User gültig, bei Exportern default-mäßig 0.
  133.   tagAutoBounce, tagHdrFill, tagTxtFill.
  134.  
  135.   27. 5.92:
  136.   umsserver:  wenn die flush.library existiert, wird sie verwendet.
  137. Der umsserver kann damit während schon während des AllocMem()s eines
  138. beliebigen Prozesses unveränderte nicht benötigte Tabellen freigeben.
  139. Außerdem werden, allerdings mit zeitlicher Verzögerung, auch alle
  140. veränderten nicht benötigten Tabellen zurückgeschrieben und
  141. freigegeben.  Auf diese Weise macht ein 'Avail flush' auch immer ein
  142. flush des umsserver und gibt einen großen Teil dessen Speichers
  143. zwischendurch frei.
  144.  
  145.   28. 5.92:
  146.   ums.library: RLogin() erzeugte einen falschen Portnamen. War aber
  147. noch niemandem aufgefallen...
  148.   ums.library: sämtliche Resourcenverwaltung neu geschrieben...
  149.  
  150.   29. 5.92:
  151.   umsserver:  bei jeder Ausgabe ins Logfile wurden 96 Bytes RAM
  152. verschenkt...
  153.  
  154.    4. 6.92:
  155.   ResourceMgr.FreeAll() hat NIL-Zeiger dereferenziert, daher gab's
  156. manchmal einen Guru #23 beim Expunge der ums.library.  Außerdem hat
  157. umsserver beim Programmende seine Files nicht freigegeben.
  158.  
  159.   Beta 5
  160.  
  161.   21. 6.92:
  162.   Auch UMSSearch() versteht jetzt NIL-Zeiger in Tags als nicht
  163. vorhandenes UMS-Feld.  WriteUMSMsg() ersetzt jetzt alle leeren Felder
  164. (Zeiger auf Nullbytes) durch NIL-Zeiger.  Damit sind jetzt durchgängig
  165. bei allen Funktionen leere Message-Felder identisch mit NIL-Zeigern.
  166.   Der umsserver schließt das logfile nicht mehr nach jedem Zugriff.
  167.   UMSSearch() liefert nun auch bei Status-Suche keine gelöschten
  168. Nachrichten mehr.
  169.  
  170.    6. 7.92:
  171.   RIDStyle.
  172.  
  173.    7. 7.92:
  174.   Bug:  umsserver brach mit einem dereferenzierten NIL-Zeiger ab, wenn
  175. beim ersten Lesen einer Nachricht alle angeforderten Felder leer
  176. waren.
  177.   Notification:  wird das config-File geändert, so wird der umsserver
  178. beendet und gleich wieder mit neuer Konfiguration neu gestartet.
  179.  
  180.    8. 7.92:
  181.   Änderungen im File-I/O-Modul und dessen Verwendung:  einige Buffer
  182. werden jetzt besser verwaltet und unnötige Lese-Zugriffe vermieden.
  183.  
  184.    9. 7.92:
  185.   Tag 'NoUpdate'. Beta 7.
  186.  
  187.   11. 7.92:
  188.   NetAccess jetzt auch für Exporter. Beta 8.
  189.  
  190.   12. 7.92:
  191.   Komplett-Paket neu zusammengestellt, mit rmail03 von Stefan Becker,
  192. flush.library 1.1, UMS-Anhang, ... -> Beta 9.
  193.  
  194.   17. 7.92:
  195.   Kleinen Bug vom 8.7. behoben.
  196.  
  197.   24. 9.92:
  198.   GC, MHStrings
  199.  
  200.    7.10.92:
  201.   GC aufgegeben, einiges geändert, jetzt läuft er doch mit Oberon 2.39
  202.  
  203.   Das finden des ums.config und der Message-Base wurde geändert:
  204.  - ums.config muß jetzt in der Message-Base selber liegen, nicht mehr
  205. in "ENVARC:"!
  206.  - um mehrere server auf dem selben System zu ermöglichen, akzeptiert
  207. der UMS-server in der Commandline einen NAME; dies ist derselbe wie
  208. der, der bei UMSRLogin() als 'server' angeben wird.
  209.  - das Default für diesen Namen (von UMSLogin() z.B.  immer verwendet)
  210. ist der Inhalt der Shell/ENV-Variablen "UMSServer", oder, falls diese
  211. nicht existiert, "default".
  212.  - der UMS-server findet die Message-Base anhand der
  213. Shell/ENV-Variablen "UMSMB.<NAME>".  "<NAME>" steht dabei für den
  214. jeweils gültigen NAME aus der Commandline.  Das Default ist also
  215. "UMSMB.default".
  216.  
  217.   UMSSearch() sucht jetzt per default vorwärts.
  218.  
  219.   Das Erkennen (und Suchen) eigener IDs im richtigen (RFC-)Format
  220. funktioniert jetzt (hoffentlich) wieder.
  221.  
  222.   Release 9.26
  223.  
  224.   10.10.92:
  225.   Die files werden nun mit exklusiven locks geöffnet.
  226.  
  227.   11.11.92:
  228.   UMSSearch() überarbeitet, so daß nach Status und Texten/Patterns
  229. gleichzeitig gesucht werden kann.  Das ist nötig, weil eine
  230. Pattern-Suche über die ganze MB sehr uneffizient wäre...
  231.  
  232.   WriteUMSConfig().
  233.  
  234.   13.10.92:
  235.   Doku für UMSSearch() und WriteUMSConfig() angepasst (u.a.  die
  236. Namen einiger Tags!).
  237.  
  238.   V 9.28
  239.  
  240.   19.10.92:
  241.   Bug bei falschen Werten für SelMsgNum.
  242.  
  243.   21.10.92:
  244.   Bug bei Speichermangel während des Öffnens von Tabellen (Files).
  245.   Fatale Fehler beim Einlesen der Konfiguration wurden nicht
  246. ausgegeben, da das logfile noch nicht geöffnet war.  Jetzt kommen
  247. solche Fehler nach stdout.
  248.  
  249.   V 9.29
  250.  
  251.   24.10.92:
  252.   Gestern  hätte  ich beinahe meine ganze Message-Base vernichtet:
  253. ich war so leichtisinnig, ein 'cleanums' ohne vorheriges Backup zu
  254. machen.  Prompt kam ein "L:UMSserver:  Speichermangel", kurz bevor
  255. das  cleanup fertig war.  Das, obwohl ich über 6MB RAM frei hatte.
  256. Leider   war   aber   das  größte  zusammenhängende  Stück  1.5MB,
  257. wohingegen ich als 'HDRREADBUF' 1.75MB konfiguriert hatte...  Nach
  258. dem  Töten  des  letzten  überflüssigen Shell-Fensters ging es zum
  259. Glück wieder.
  260.   Dank des neuen Oberon-Compilers konnte ich es so einrichten, daß
  261. fehlendes RAM für Filebuffer (HDRREADBUF, HDRWRITEBUF, TXTREADBUF,
  262. TXTWRITEBUF,  CLEANBUF)  in  Zukunft  nie  mehr  zum  Abbruch  des
  263. UMS-Servers führt.  Im Zweifelsfall wird dann mit dem alten Buffer
  264. weitergearbeitet.  Auch wenn der nur 512 Bytes (default) groß ist!
  265.  
  266.   tagSelTree und tagSelSubTree implementiert.
  267.  
  268.   25.10.92:
  269.   tagSelParent jetzt deutlich schneller (a68k).
  270.  
  271.   UMS-Server prüft jetzt (ungefähr ;-) vor jedem WriteUMSMsg(), ob
  272. noch  genug  Platz  auf  der  Partition ist.  Dabei wird versucht,
  273. stets ca 64KB freizuhalten.
  274.  
  275.   "ChainQuick  = 1" in der Config ermöglicht 'quick-searches' beim
  276. Erstellen   der   Kommentarverkettung.    Sollte   bei  allen  mit
  277. HDRREADBUF   <   filelength(.header)   das   Importieren  mekrlich
  278. beschleunigen.
  279.  
  280.   "FullNode = 1" und "Key = xxx" ermöglicht FullNode-Betrieb, d.h.
  281. auch  öffentliche Nachrichten können von einem Exporter zu anderen
  282. Exportern weitergegeben werden.
  283.   "xxx"  ist  ein  site-spezifischer  Code,  den  ich  auf Anfrage
  284. mitteilen   kann.   Dazu  brauche  ich  das  "ums.config"!   (ohne
  285. Passwörter und Applikations-spezifische Config-Variablen).
  286.  
  287.   Bei  autobounce und CannotExport() wird jetzt ein Fehler-Text im
  288. Feld  'errorText' abgelegt, der dann von einem bounce-Utility, das
  289. unter dem account eines Sysops laufen muß, verwendet werden kann.
  290.  
  291.   Ändern   von   Nachrichten   jetzt   schneller,   dafür   dürfen
  292. fast-/softlink,  from-/to-name/path,  group und distribution nicht
  293. geändert  werden.  Das hätte eigentlich seit jeher so sein sollen.
  294. In   Zukunft  kann  man  hoffentlich  auch  das  Ändern  von  ID's
  295. verbieten...
  296.  
  297.   26.10.92:
  298.   'Bouncer', ein erstes bounce-Utility geschrieben.
  299.  
  300.   27.10.92:
  301.   Habe  mich  heute  wahnsinnig  über  eine Msg von Marcus Kuba in
  302. UMS.GER   geärgert.    Die   hat  mich  viele  Nerven  (und  Zeit)
  303. gekostet...
  304.  
  305.   28.10.92:
  306.   ShowUmsConfig.
  307.  
  308.   29.10.92:
  309.   Kommentarverkettung rückwärts.
  310.  
  311.   NetzGruppen   werden  jetzt  bei  ReadUMSMsg()  und  UMSSelect()
  312. beachtet.   ReadUMSMsg()  verwendet das neue Pattern "GroupFilter"
  313. in  der User-Config, um den bevorzugten Gruppennamen zu ermitteln.
  314. Im Zweifelsfall wird trotzdem der originale Gurppenname geliefert.
  315.  
  316.    3.11.92:
  317.   Kleine  Ändrungen  an  ums.library (server starten mit UMS-Namen
  318. als Parameter), ShowUmsConfig und Bouncer.
  319.  
  320.   V 9.30
  321.  
  322.    8.11.92:
  323.   ReadUMSConfig() mit tagCfgUser war für nicht-Sysops verboten.
  324.  
  325.   Die Überprüfung der Festplattenkapazität machte das Arbeiten mit
  326. einer MB in der Ram-Disk unmöglich.
  327.   Sie  kann  jetzt mit 'NoCheckHD = 1' im ums.config ausgeschaltet
  328. werden.   Ich  empfehle aber trotzdem, für Test-Zwecke lieber eine
  329. "RAD:" als "Ram-Disk:" zu verwenden!
  330.  
  331.   V 9.31
  332.  
  333.   25.11.92:
  334.   Fehler beim Referenzieren von Benutzer-Status.
  335.  
  336.   26.11.92:
  337.   Fehler in UMSSearch.
  338.   V 9.32
  339.  
  340.   16.12.92:
  341.   Böser Fehler bei cleanums und zu wenig Speicher
  342.   V 9.33
  343.  
  344.    9. 1.93:
  345.   HdrFill und TxtFill waren nur bei Nachrichten von lokalen Usern
  346. wirksam.  Das machte Probleme beim MausTausch-Gateway...
  347.   Exporter dürfen jetzt auch Nachrichten verändern, auf die sie kein
  348. WriteAccess haben.  Das ist nötig, damit z.B.  ein MausTausch-Exporter
  349. schon vor ExportedMsg() eine MausTausch-/MausNet-ID eintragen kann.
  350.   Bei Links wurden die meisten indices nicht berechnet.
  351.   Ein halb erfolgreiches SetFileSize() lieferte keinen richtigen Fehler.
  352.   V 9.34
  353.  
  354.   10. 1.93:
  355.   Fehler bei WriteUMSMgs():  Gateway-Exporter konnten Nachrichten
  356. nicht ändern, weil sie bei ReadUmsMgs() einen anderen als den
  357. originalen Gruppen-Namen bekommen, diesen aber nicht bei WriteUMSMgs()
  358. verwenden durften.
  359.   V9.35
  360.  
  361.   Beim Ändern von Nachrichten wurde deren Kommentarverkettung gelöscht.
  362.   V9.36
  363.  
  364.   HdrCache.
  365.   
  366.   11. 1.93:
  367.   LRU für HdrCache.
  368.  
  369.   13. 1.93:
  370.   Nachrichten mit Hard- oder Softlinks konnten nicht geändert werden.
  371.  
  372.   14. 1.93:
  373.   Dyn. Hashing für den Cache.
  374.   V 9.37
  375.  
  376.   Immer noch ein Fehler beim Ändern von gelinkten Nachrichten...
  377.   V 9.38
  378.  
  379.    9. 3.93:
  380.   Bug bei Abbruch vor dem Initialisieren des Caches-
  381.   V 9.40
  382.  
  383.    7. 7.93:
  384.   Neue IPC und Netzwerk-Support fertig.
  385.   Clients können jetzt UMS-server über das Netzwerk ansprechen, dazu
  386. muß der Server-name das Format "server@machine" habe.  Beispiel:
  387. "default@A3000".
  388.  
  389.   25. 4.93:
  390.   "key 0 already here"-Bug (hoffentlich) behoben.  Mir
  391. wollte es leider nicht gelingen, diesen Fehler irgendwie zu
  392. erzeugen..
  393.   Wenn mehrere Server auf dem gleichen Rechner laufen,
  394. beendete "Quitums" zwar den richtigen, es wurden aber alle
  395. laufenden UMS-Clients abgebrochen, die die von andere
  396. servern.
  397.   V 10.4
  398.  
  399.   10. 5.93:
  400.   Bug:  LogUMS() hat seit V10.x nicht funktioniert, weil
  401. intern keine korrekten Tags verwendet wurden.  Warum ist das
  402. niemandem aufgefallen?
  403.   Der Header-Cache istr nun optional.  Gibt mal "0" als
  404. Größe an, bekommt man keine Cache.  Es wird weder RAM noch
  405. Rechenzeit dafür verschwendet (obgleich die eh nur gering
  406. wäre.)
  407.   V10.5
  408.  
  409.   11. 5.93:
  410.   Bug:  das Schreiben von Hardlinks (z.B.  Crosspostings) ohne MSgIDs
  411. war nicht möglich.
  412.  
  413.   20. 5.93:
  414.   Umsserver gab bei einem Logout() nicht alle Buffer des logins frei.
  415.   ums.library stürtzte mit einem Guru ab, wenn der Speicher ausging.
  416. Die Wahrscheinlichkeit eines solchen Absturzes ließ sich drastisch
  417. verringern, er kann aber nicht 100%ig ausgeschlossen werden.  Das geht
  418. erst wieder, wenn die ums.libray den Garbage Collector verwendet.
  419.  
  420.   V10.8
  421.  
  422.   23. 5.93:
  423.   ums.service.  Damit kann UMS unter Envoy jetzt oredntlich
  424. "expotiert" werden.  Außerdem wird so der server auch über Netz
  425. automatisch gestartet.
  426.   Für Netz-Zugriffe gibt die ENV-Variable "UMSServer.NET" den
  427. default-server an.  Also analog zu "UMSServer" bei lokalen Zugriffen.
  428. Mit "@machine" erreicht man jetzt den entsprechenden default-server
  429. auf dem Rechner "machine".
  430.   (Wer malt ein schöneres Icon für 'ums.service'?)
  431.  
  432.    2. 6.93:
  433.   Freigeben der Buffer bei Logout() war immer noch nicht richtig.
  434.   Konnte ein File beim Start des servers nicht geöffnet werden, z.B.
  435. weil es schon in Benutzung ist, so gab's einen Guru.
  436.   Inkonsistenz der Tag-Definition für TagSelTree beseitigt. umsserver
  437. und Oberon-Interface entsprechen jetzt dem C-Interface.
  438.   Toleranteres Verhalten bei Netzwerkfehlern, u.U. mit Requester.
  439.   Für Flushes wird nun versucht, einen "ruhigen" Moment zu finden um
  440. andere UMS-Operationen möglichst wenig zu behindern.
  441.   Neues User-Flag "filtered" und neues Feld "Folder".
  442.  
  443.   V10.10
  444.  
  445.    8. 6.93:
  446.   Nachrichten ohne ViewAccess werden bei Hard- und Softlinks nun
  447. transparent übergangen.
  448.  
  449.   V10.12
  450.  
  451.   28. 6.93:
  452.   Fehlermeldungen jetzt zusätzlich zum Logfile in ein AUTO/WAIT
  453. CON-Fenster.
  454.   Patterns können jetzt Listen sein. D.h. sie können mehrzeilig sein.
  455. Es reicht dann, wenn eine Zeile machted.
  456.   Fehlercodes bei fehlendem Index bei UMSSelect().
  457.   Problem mit Links und teilweise leeren Feldern.
  458.  
  459.   V10.13
  460.  
  461.   29. 6.93:
  462.   Defektes Cleanup aus 10.13.  Die offsets zu den Text-Files wurden
  463. zweimal "aufgeräumt" und enthielten danach natürlich Müll.
  464.   AKA ist jetzt ein (mehrzeiliges) Pattern.
  465.   Statt FLUSINTERVALL jetzt HARDFLUSH und SOFTFLUSH.
  466.   UMSSelect( status ) und tagSelStart repariert (status-selects hatten
  467. schon immer eine Position zu früh angefangen zu selecten; erst bei
  468. Expire ist es aufgefallen, und da auch nur Tron ;-)
  469.  
  470.   V10.14
  471.  
  472.    7. 7.93:
  473.   Kommentarverkettung funktionierte bei Links nicht.
  474.   Links werden beim cleanup jetzt nur noch gelöscht, wenn alle Teile
  475. expired sind.  Bei Softlinks kann nicht mehr die Haupt-Msg entfernt
  476. werden, wenn sie noch von Links benötigt wird.
  477.  
  478.    9. 7.93:
  479.   Der Cache wurde beim cleanup nicht geleert.  Dadurch waren die
  480. Header nach dem cleanup teilweise durcheinander, oder auch leer.  Die
  481. MB dürfte das i.d.R.  aber nicht beeinträchtigt haben, solange nicht
  482. mehrere cleanups "hintereinander" durchgeführt wurden.
  483.  
  484.   V10.15
  485.  
  486.   11. 7.93:
  487.   Funktionsweise von tagSelStart geändert; sumsprint tut nun
  488. wieder.
  489.  
  490.   V10.16
  491.  
  492.   27. 7.93:
  493.   Patternsuche bei UMSSearch().
  494.   Der HdrCache machte bei Cleanums immer noch Probleme:  aller
  495. "Fill"-Platz wurde mit "gesäubert" daher Probleme bei ums2m->
  496. cleanums->m2ums (in dieser Reihenfolge).
  497.   Keine Passwörter mehr in logfile.
  498.   Passwörter können im ums-config verschlüsselt sein.
  499.   Access, FullAccess.
  500.  
  501.   V10.17
  502.  
  503.   28. 7.93:
  504.   TexteSuche bei UMSSearch() OHNE Pattern...
  505.  
  506.   V10.18
  507.  
  508.   31. 7.93:
  509.   Verschlüsselte Passwörter gehen jetzt tatsächlich.
  510.   Nr. der größten Msg bei cleanums ins logfile.
  511.  
  512.   V10.19
  513.  
  514.   25. 8.93:
  515.   Bei gelinkten Msgs sind jetzt alle Header lesbar, wenn mindestens 
  516. eine Msg lesbar ist (für Newsgroups:, To:, Cc:-Zeilen, o.ä.).
  517.  
  518.   Verschiedene Bugs beim Selecten von Gruppen gefunden und behoben.
  519.  
  520.   26. 8.93:
  521.   TagHide.
  522.  
  523.   V10.20
  524.  
  525.   28. 8.93:
  526.   TagNextVar.
  527.  
  528.   29. 8.93:
  529.   Servername case-insensitive (betrifft server, library UND service)
  530.  
  531.   12. 9.93:
  532.   HardLinks und SoftLink auch wieder für Links ohne ViewAccess
  533.  
  534.   14. 9.93:
  535.   Check links after truncating MB.
  536.   UMSSearch() -> 0 wenn der Server terminiert wurde.
  537.   Libarybase.openCnt bei jedem Login inkrementieren.
  538.  
  539.   V10.24
  540.  
  541.   18. 9.93:
  542.   Weniger RAM-Bedarf bei WriteUMSMsg():
  543.   ums.library macht jetzt bei lokalen Logins für jeden STRPTR in
  544. Taglisten ein TypeOfMem(). Eine Kopie des Strings wird jetzt nur noch
  545. angelegt, wenn der Speichertyp NICHT MEMF_PUBLIC enthält. Das ist
  546. normalerweise aber nicht der Fall.
  547.   Im umsserver wurde eine Kopie beim Schreiben von Msgs wegoptimiert.
  548.   Um eine große Msg zu schreiben muß diese jetzt nur noch einmal statt
  549. vorher dreimal Platz im Speicher haben.
  550.  
  551.   V10.25
  552.  
  553.   28. 9.93:
  554.   Bei der Verwendung von LogUMS() mit Netzwerk-Logins wurde ein
  555. NIL-Zeiger dereferenziert.
  556.  
  557.   V10.26
  558.  
  559.    9.10.93
  560.   Timeout für Requester; MaxMsgSize.
  561.  
  562.   21.10.93
  563.   Kein KEY mehr, dafür GATEKEY.
  564.  
  565.   25.10.93
  566.   Requester bei quitums und eingelogten Usern.
  567.   DeleteMsg() bei Softlinks erzeugte herrenlose Links. Das ist nun
  568. behoben und Cleanums entfernt die herrenlosen Links.
  569.   ChainUp = 0 wenn kein ViewAccess.
  570.  
  571.   V10.30
  572.